package generatedjava;

import java_cup.runtime.Symbol;
import generatedjava.sym;

%%
%class MyAnalyser
%line
%column
%cup
%{eofval
	return new Symbol(sym.EOF);
%eofval}
%%

\n|\r|r\n			{;/*On fait rien*/}
"/*"[^"*/"]*"*/"	{;/*On fait rien*/}
"//".*				{;/*On fait rien*/}
[ \t]				{;/*On fait rien*/}
[0-9]+				{return new Symbol(sym.Entier,yyline,yycolumn,new Integer(yytext()));}
"+"					{return new Symbol(sym.PLUS,yyline,yycolumn);}
"-"					{return new Symbol(sym.MOINS,yyline,yycolumn);}
"*"					{return new Symbol(sym.MULT,yyline,yycolumn);}
"/"					{return new Symbol(sym.DIV,yyline,yycolumn);}
"mod"				{return new Symbol(sym.MOD,yyline,yycolumn);}
"("					{return new Symbol(sym.PAR_G,yyline,yycolumn);}
")"					{return new Symbol(sym.PAR_D,yyline,yycolumn);}
";"					{return new Symbol(sym.SEMICOLON,yyline,yycolumn);}
"="					{return new Symbol(sym.EQUALS,yyline,yycolumn);}
"let"				{return new Symbol(sym.LET,yyline,yycolumn);}
[a-zA-Z]+			{return new Symbol(sym.Var,yyline,yycolumn, new String(yytext()));}
.					{return new Symbol(sym.UNEXPECTED,yyline,yycolumn);}
